import java.util.Scanner;
public class Gold1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("开始游戏输入1：");　　　　　　　　　　//判断是否开始游戏
        int y=input.nextInt();
        System.out.print("请输入有几位玩家：");　　　　　　　　　//输入玩家人数
        int N=input.nextInt();
        double[] a = new double[N];　　　　　　　　　　　　　　//记录玩家输入的数
        int c[]=new int[N];　　　　　　　　　　　　　　　　　　//记录第几位同学
        int x=1;　　　　　　　　　　　　　　　　　　　　　　　　　//记录游戏轮次
        int g[]=new int[N];　　　　　　　　　　　　　　　　　　//用来存储每人的成绩
        while(y==1){　　　　　　　　　　　　　　　　　　　　　　//判断是否等于1，等于1进入循环
            System.out.println("第"+x+"次游戏");
            System.out.println("继续游戏请输入1，否则输入任意数");
            int z=input.nextInt();　　　　　　　　　　　　　　//用来判断是否跳出循环
            if(z!=1){　　　　　　　　　　　　　　　　　　　　　　//如果z不等于1
                break;　　　　　　　　　　　　　　　　　　　　　　//跳出循环
            }
            System.out.println("请每位玩家输入0~99间的数");
            int sum=0;　　　　　　　　　　　　　　　　　　　　　　//用来求和
            double G=0;　　　　　　　　　　　　　　　　　　　　　　//用来记录G值for(int i=0;i<a.length;i++) {　　　　　　　　　　　//循环输入数字
                a[i] = input.nextInt();
                c[i]=i+1;　　　　　　　　　　　　　　　　　　　　//输入这是第几位同学
            }
            for (int i=0;i<N;i++){　　　　　　　　　　　　　　　　//循环输出
                System.out.printf("第%d位同学：",c[i]);　　　　
                System.out.println(a[i]);
                sum+=a[i];　　　　　　　　　　　　　　　　　　　　//求和
            }
            G=sum/N*0.618;　　　　　　　　　　　　　　　　　　　　//求黄金点
            double b[]=new double[N];　　　　　　　　　　　　　　//记录输入数与黄金点的差值
            for(int i=0;i<b.length;i++){　　　　　　　　　　　　　　　　　　　　　
                if(a[i]<=G){　　　　　　　　　　　　　　　　　　　//使差值是正数　　　　　　　　　　　
                    a[i]=G-a[i];
                }
                else {
                    a[i]=a[i]-G;
                }
                b[i]=a[i];　　　　　　　　　　　　　　　　　　　　//将差值赋给b
            }
            for(int i=0;i<b.length;i++) {　　　　　　　　　　　　
                for(int j=i;j<b.length;j++) {
                    if(b[i] > b[j]) {　　　　　　　　　　　　　//排序（从小到大）　　　
                        double e = b[i];　　　　　　　　　　　//如果差值因排序交换了
                        b[i] = b[j];
                        b[j] = e;
                        int f=c[i];　　　　　　　　　　　　　　//将第几位同学也交换
                        c[i]=c[j];
                        c[j]=f;
                        int h=g[i];　　　　　　　　　　　　　　//将同学的成绩也交换
                        g[i]=g[j];
                        g[j]=h;
                    }
                }
                System.out.printf("第%d位同学：",c[i]);　　　　//输出第几位同学
                System.out.println(b[i]);　　　　　　　　　　　　//输出差值
            }
            if(x==1){　　　　　　　　　　　　　　　　　　　　　　　　//计算第一轮游戏每位同学得分
                for(int i=0;i<c.length;i++){
                    int grade=0;　　　　　　　　　　　　　　　　　　//给成绩一个初始值
                    if(i==0){　　　　　　　　　　　　　　　　　　　　//如果距离黄金点最近
                        g[i]=grade+N;　　　　　　　　　　　　　　　　//成绩+N
                    }
                    else if(i==N-1){　　　　　　　　　　　　　　　　//如果距离黄金点最远
                        g[i]=grade-2;　　　　　　　　　　　　　　　　//成绩-2
                    }
                    else {　　　　　　　　　　　　　　　　　　　　　　//其余玩家
                        g[i]=grade+0;　　　　　　　　　　　　　　　　//成绩+0
                    }
                    System.out.println("第"+c[i]+"位同学的成绩是"+g[i]);　　//输出
                }
            }
            else{　　　　　　　　　　　　　　　　　　　　　　　　　　//除第一轮每一轮的成绩
                for(int i=0;i<c.length;i++){
                    if(i==0){　　　　　　　　　　　　　　　　　　　　//如果距离黄金点最近
                        g[i]+=N;　　　　　　　　　　　　　　　　　　//ta上一次的成绩+N
                    }
                    else if(i==N-1){　　　　　　　　　　　　　　　　//如果距离黄金点最远
                        g[i]-=2;　　　　　　　　　　　　　　　　　　//ta上一次的成绩—2
                    }
                    else{　　　　　　　　　　　　　　　　　　　　　　//其余玩家
                        g[i]+=0;　　　　　　　　　　　　　　　　　　//ta上一次的成绩+0
                    }
                    System.out.println("第"+c[i]+"位同学的成绩是"+g[i]); //输出
                }
            }
            x++;　　　　　　　　　　　　　　　　　　　　　　　　　　　　//轮次+1
        }
    }
}